ASP.NET MVC Validation Library

ASP.NET MVC Validation Library addresses the need of validating data rules for business entities at both server-side and client-side.

CuttingEdge.Conditions

conditions.zip (12,9 MB)
CuttingEdge.Conditions is a library that helps developers to write pre- and postcondition validations in their C# 3and VB.NET code base.

Fluent Validation for .NET

A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules for your business objects.

HSDK: DDD, WCF, Web API, RavenDB, validation, MVVM, WPF, MVC

hsdk.zip (5,8 MB)
Hyperion Software Development Kit (HSDK) is a "real world collection of components" for an enterprise application developed with the latest technologies.

jQuery Data Annotations

jda.zip (5,8 MB)
This is the jQuery Data Annotations project which mirrors the validation functions from jQuery Validation JavaScript library and makes them available as Data Annotations. This Project also includes HTML Helpers for MVC which will automatically create the required JavaScript.

Validator Toolkit for ASP.NET MVC

The Validator Toolkit provides a set of validators for the ASP.NET MVC framework to validate HTML forms on the client and server-side using validation sets.

MVVM Validation Helpers

MVVM Validation Helpers is a little framework that makes it easier for developers to implement validation in their WPF/Silverlight MVVM applications. You'll no longer have to implement IDataErrorInfo and INotifyDataErrorInfo interfaces manually in your view models. With this lightweight framework you can define and keep all your validation rules conveniently in one place. It saves you from all the boilerplate of maintaining error list for each of the validation targets (properties). You just define a set of validation rules that need to be checked for each of the targets and later, when appropriate, it is easy to just validate a target and get the validation result back without worrying what rules need to be checked.

NEnsure

nensure.zip (5,2 MB)
NEnsure is a fast, lightweight, easy-to-use validation framework that aims to make validation methods short, sweet, and understandable.

NValidator

nvalidator.zip (28,8 MB)
NValidator is a lightweight extensible validation library for .NET that support fluent syntax. The implementation and fluent syntax are inspired from the well-known library Fluent Validation. However, I implemented it using Chain of Reponsibility pattern and made it fully support Dependency Injection for validator classes. Here is a simple example that can help you to start: public class UserValidator : TypeValidator<User> { public UserValidator() { RuleFor(user => user.Id) .NotEmpty() .NotNull(); RuleFor(user => user.UserName) .NotNull() .Length(6, 10) .Must(x => !x.Contains(" ")).WithMessage("@PropertyName cannot contain empty string."); RuleFor(user => user.Password) .StopOnFirstError() .NotEmpty() .Length(6, 20) .Must(x => x.Any(c => c >= 'a' && c <= 'z') && x.Any(c => c >= '0' && c <= '9') && x.Any(c => c >= 'A' && c <= 'Z')).WithMessage("@PropertyName must contain both letter and digit."); RuleFor(user => user.Title).In("MR", "MS", "MRS", "DR", "PROF", "REV", "OTHER"); RuleFor(user => user.FirstName).NotEmpty().WithMessage("Please specify the first name."); RuleFor(user => user.LastName).NotEmpty().WithMessage("Please specify the last name."); RuleFor(user => user.Email).Email(); RuleFor(user => user.Address).SetValidator<AddressValidator>() .When(x => x != null); } }

Rules Engine

Rules Engine is a C# project that makes it easier for developers to define business rules on domain objects without coupling the domain object to the business rule. The rules engine supports cross-field validation and conditional validation. Rules are interface-based and are easily extensible. Rules can be added using a fluent interface.

ShureValidation

Multilingual model validation library. Supports fluent validations, attribute validations and own custom validations.

SpecExpress : A Fluent Validation Framework

specexpress.zip (24,3 MB)
SpecExpress is a fluent validation framework and container for .Net that makes it easier to write validation rules and validate your objects. SpecExpress also offers integration with ASP.NET WebForms, eliminating duplication of your validation rules.

TimeAssistant is a Test Driven Development application to manage time

Eye.Open TimeAssistant helps managing "resources" (notes, etc), tasks, projects and grouping (as set) everything. Is a Test Driven Development application that shows how to implement a layered architecture using a "LINQ ORM", in this case NHibernate, and WCF.

TNValidate - A Fluent Validation Library for .NET

tnvalidate.zip (255 kB)
TNValidate is a fluent validation library for .Net. It enables you to write validation logic in a way that somewhat resembles natural language. TNValidate comes with built in rules for different types of data, can generate errors in a couple of languages, and is extensible.

ValidationAspects

ValidationAspects provides State and Interception validation on .net Objects, Properties and Method Parameters. Validation can be declared via attributes and/or augmented/replaced with validation functions at runtime. Supports asp.net MVC, WPF, Silverlight, PostSharp, and Unity.

.net Validation Framework

Apply reusable and customisable rules to properties and methods to provide validation for your strongly typed business objects. Works with WPF, ASP.Net, Windows Forms, ASP.MVC and web services.

WCF Data Annotations

WCFDataAnnotations allows you to automatically validate WCF service operation arguments using the attributes and IValidatableObject interface from System.ComponentModel.DataAnnotations.